A computer application typically provides a page to a device for printing and/or display in the form of a description of the page, with the description provided to device driver software of the device in a page description language (PDL), such as Adobe® PostScript® or Hewlett-Packard® PCL. The PDL provides descriptions of objects to be rendered onto the page, as opposed to a raster image of the page to be printed. Equivalently, a set of descriptions of graphic objects may be provided in function calls to a graphics interface, such as the Graphical Device Interface (GDI) in the Microsoft Windows™ operating system, or the X-11 in the Unix™ operating system. The page is typically rendered for printing and/or display by an object-based graphics system, also known as a Raster Image Processor (RIP).
A typical printer system comprises a host computer, such as a personal computer (PC), connected to a printer by some interface. Example interfaces include a parallel port, Universal Serial Bus (USB), Ethernet or Firewire™. In a typical office environment the host computer to printer connection may be over a 10/100BaseT Ethernet network that is shared with other users and equipment. In such cases the bandwidth of the network is not exclusively available for host computer to printer data transfer. For this reason it is desirable that the amount of data that is sent from the host computer to the printer, and any data and/or status information sent in the opposite direction, be kept to a minimum. The actual time spent transmitting the description of the page from the host computer to the printer impacts on the overall printing time from a user's perspective. The choice of a particular PDL is therefore a crucial factor in minimising the time taken to transfer the page description from the host computer to the printer.
In a PDL-based printer the PDL file that describes the page is delivered over the interface from the host computer. Such a PDL-based printer system requires that the printer itself implement PDL interpretation in the course of generating the pixels for printing. PDL interpretation is a task that requires considerable software and/or hardware resources to perform in a reasonable time.
The advantage of such a system including a PDL-based printer is that the amount of data, that is the description in the PDL, which needs to be transferred over the interface is typically small compared to the corresponding pixel data subsequently generated within the printer. This is especially true as the resolution of the printed page increases. In addition, the overall print time of the system, defined roughly as the time from when the user commands the printing of the page to its final arrival out of the printer, is not particularly sensitive to reductions in interface bandwidth. This is because the majority of the overall printing time is consumed by the interpretation of the description in the PDL and the subsequent generation of pixels within the printer, as opposed to the transfer of the description from the host computer to the printer.
In contrast to the system including a PDL-based printer, a system using a host-based printer system architecture divides the processing load between the host computer and the printer in a different manner. Host-based printer systems require the host computer, typically a personal computer, to fully generate pixel data at the resolution of the page to be printed. This pixel data is then compressed in a lossless or lossy fashion on the host computer and is delivered to the printer across the interface. Sometimes halftoning is also performed on this pixel data on the host computer to reduce the size of the pixel data. This approach is also known as the bitmap approach.
A significant advantage of this bitmap approach is that the printer need not be capable of PDL interpretation. By removing the task of PDL interpretation from the printer to the host computer, the complexity of the printer's role is greatly reduced when compared to that of the PDL-based printer. Since complexity usually translates into cost, the printer for the host-based system can generally be made more cheaply than one that needs to perform PDL interpretation for an equivalent printing speed and page quality.
The disadvantage of such host-based printing systems is the amount of data that needs to be delivered from host computer to the printer across the interface. An A4 page at 600 dpi resolution may require over one hundred megabytes of pixel data to be transferred across this interface when uncompressed. Compressing the pixel data alleviates the problem to some extent, particularly when the pixel data has already been halftoned. However, the data transfer still typically requires many megabytes of compressed pixel data. Apart from the time and memory resource required to process this data in the printer, considerable time is also consumed in simply waiting for these compressed pixels to make their way across the interface from the host computer to the printer. Consequently the host-based printer system is particularly sensitive to increases in page resolution and reduced interface data bandwidth.
A need therefore exists for a representation of a page to be rendered on a printer system that removes the requirement of the printer system to be capable of PDL interpretation without the representation consisting of a large amount of data.